import type { SizeType } from 'antd/lib/config-provider/SizeContext';

interface Obj {
	[key: string]: any;
}

/* themeConfigProp */
export interface ThemeConfigProp {
	primary: string;
	isDark: boolean;
	weakOrGray: string;
	breadcrumb: boolean;
	tabs: boolean;
	footer: boolean;
}

/* GlobalState */
export interface GlobalState {
	token: String | undefined;
	userInfo: any;
	authLevel: number;
	assemblySize: SizeType;
	language: string;
	themeConfig: ThemeConfigProp;
}

/* MenuState */
export interface MenuState {
	isCollapse: boolean;
	menuList: Menu.MenuOptions[];
}

/* BreadcrumbState */
export interface BreadcrumbState {
	breadcrumbList: {
		[propName: string]: any;
	};
}

/* ConfState */
export interface ConfState {
	prev_key: string;
	next_key: string;
	init_key: string;
	split_key: string;
	linner_key: string;
	message_linner_key: string;
	linner_press_down: Boolean;
	bg_url: string;
}
